@烟雨
3年前 提问
1个回答
逻辑支付漏洞最大值是怎么回事
GQQQy
3年前
官方采纳
所有涉及购买、支付等方面的功能处就有可能存在支付漏洞。
支付逻辑漏洞最大值int的范围是-2147483648 ~ 2147483647 。可以把他看成是一个循环,超过最大值后就从0开始计算。
其实2147483649=-2147483647但是可能在支付里面没有负数所以从0开始计算了。那么当支付金额为2147483649时,支付金额就变成了1.2147483649-2147483648=1支付的时候可以直接把金额改成这个值在测试商品时也可以让总价格为这个数。2147483648/物品单价+1=物品数量。
修复防范
- 对支付流程的每个环节进行校验,并且防止跳过某一个环节。
- 用户确认购买后,立即验证商品价格(商品单价、商品数量、折扣优惠)、订单价格和到账金额。
- 对一些优惠券、折扣券的使用方式进行测试。
- 修复防范网站其他漏洞。